package zsc.nine.onlinemall.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import zsc.nine.onlinemall.entity.Admin;
import zsc.nine.onlinemall.mapper.AdminMapper;

import java.util.List;

/**
 * function1：addAdmin:添加管理员
 * function2：deleteAdmin:删除管理员
 * function3：changePasswordByEmail:更新管理员密码
 * function4：changeStatus:更改管理员权限
 * function5：findAdminByEmail:查找管理员
 * function6：findAdminByEmail:展示所有管理员
 */
@Component
public class AdminService {

    @Autowired
    AdminMapper adminMapper;


    /**
     * //     * @param  adminEmail:邮箱
     * //     * @param  adminName:管理员名
     * //     * @param  adminPassword:密码
     * //     * @param  adminStatus:权限
     */

    //添加管理员
    public boolean addAdmin(Admin admin) {
        return adminMapper.insertAdmin(admin);
    }


    /**
     *
     */
    //删除管理员
    public boolean deleteAdmin(String email) {
        return adminMapper.deleteAdmin(email);
    }

    //更新管理员密码
    public boolean changePasswordByEmail(String email, String password) {
        return adminMapper.updatePasswordByEmail(email, password);
    }

    //更新权限
    public boolean changeStatus(String email, int status) {
        return adminMapper.updateStatusByEmail(email, status);
    }

    //查找管理员
    public Admin findAdminByEmail(String email) {
        return adminMapper.findAdminByEmail(email);
    }

    //展示所有管理员
    public List<Admin> findAdminByEmail() {
        return adminMapper.findAllAdmin();
    }

    /**
     * @param email: 用户Email
     * @Description: 用户Email存在验证服务方法
     * @return: 发送结果 true为存在 false为不存在
     */
    public boolean AdminExit(String email) {
        return adminMapper.findAdminByEmail(email) != null;
    }

    public List<Admin> pagedFindById(String index, String pageSize) {
        return adminMapper.pagedFindByIdAsc(Integer.parseInt(index), Integer.parseInt(pageSize));
    }

    public String getLength() {
        return adminMapper.getLength();
    }


}
